import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      // ThemeData 是flutter用于定义应用主题样式的类
      // 你可以通过它设置颜色、字体、按钮样式等全局风格。
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.red), // 主色
        brightness: Brightness.light, // 亮色主题
        fontFamily: 'Roboto', // 字体
        useMaterial3: true, // 建议开启Material3
        appBarTheme: const AppBarTheme(
          backgroundColor: Colors.red, // 背景色
          foregroundColor: Colors.black, // 字体颜色
        ),
      ),
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Flutter app'),
          //backgroundColor: Theme.of(context).colorScheme.primary, // 强制使用主题颜色
        ),
        body: MyHomePage(),
      ),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    final size = MediaQuery.of(context).size;// 获取屏幕的长度和宽度
    /**
     * Align 是flutter用于对子组件进行对齐的布局控件。
     * 可以通过alignment 属性设置子组件在父容器中的位置，比如居中、左上、右下等。
     * Align 只影响他的子组件的位置，不会改变父容器的大小
     */
    print(size);
    return Container(
      width: 300,
      height: 300,
      color: Colors.amber,
      child: const Align(
        alignment: Alignment.center,
        child: Text('你好，Flutter！'),
      ),
    );
  }
}
